package cn.lg.soar.general.config;

import cn.lg.soar.common.util.data.DataUtil;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Lazy;

import java.util.Set;

/**
 * @author luguoxiang
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
@Lazy
@Getter
@Setter
@ConfigurationProperties(prefix = "lg.general.upload")
public class FileProps {

    /**
     * 文件访问密钥
     */
    private String secret;

    /**
     * 黑名单（文件后缀黑名单）
     */
    private Set<String> blacklist;

    /**
     * 白名单（文件后缀白名单）
     */
    private Set<String> whitelist;

    public boolean isBlacklist(String suffix) {
        return !DataUtil.isEmpty(blacklist) && blacklist.contains(suffix);
    }

    public boolean isWhitelist(String suffix) {
        return DataUtil.isEmpty(whitelist) || whitelist.contains(suffix);
    }

}
